home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)tk.d64 / dump3-src.d < prev    next >
Text File  |  2007-02-04  |  4KB  |  266 lines

  1. ;*******************************
  2. ;*                             *
  3. ;*     H/R SCREEN DUMPER       *
  4. ;*                             *
  5. ;*             BY              *
  6. ;*                             *
  7. ;*         BOB SWIFT           *
  8. ;*                             *
  9. ;*     FOR THE GEMINI-10X      *
  10. ;*                             *
  11. ;*******************************
  12. ;
  13. .OPT ERRORS, NOLIST, SYMBOLS
  14.  MAP    = $2000
  15.  SETLFS = $FFBA
  16.  SETNAM = $FFBD
  17.  OPEN   = $FFC0
  18.  CLALL  = $FFE7
  19.  CHKOUT = $FFC9
  20.  CHROUT = $FFD2
  21. ;
  22.  * = $C000
  23. ;
  24. RVS .BYTE 0 ;REVERSE FLAG
  25. EXPY .BYTE 0 ;EXPAND Y FLAG
  26. BIG .BYTE 0 ;FULL PAGE FLAG
  27. ;
  28. ;*******************************
  29. ;*                             *
  30. ;* TO USE, RUN AS FOLLOWS:     *
  31. ;*                             *
  32. ;*  1) SET RVS FLAG IN 49152   *
  33. ;*     (0=NORMAL  1=REVERSE)   *
  34. ;*                             *
  35. ;*  2) SET Y EXPAND FLAG IN    *
  36. ;*     49153                   *
  37. ;*     (0=NORMAL  1=EXPANDED)  *
  38. ;*                             *
  39. ;*  3) SET FULL PAGE FLAG      *
  40. ;*     IN 49154                *
  41. ;*     (0=NORMAL  1=FULL PAGE) *
  42. ;*                             *
  43. ;*  4) RUN THE PROGRAM USING   *
  44. ;*     SYS(49155) <RETURN>     *
  45. ;*                             *
  46. ;*******************************
  47. ;
  48. STDUMP LDA #$04
  49.  TAX
  50.  TAY
  51.  JSR SETLFS ;SET LOGICAL FILE
  52.  LDA #$00
  53.  TAX
  54.  TAY
  55.  JSR SETNAM ;SET FILE NAME (NULL)
  56.  JSR OPEN ;OPEN THE FILE
  57.  LDX #$04
  58.  JSR CHKOUT ;SET OUTPUT FILE
  59.  LDX #$00
  60.  LDY #INITSM-INITPC ;COUNTER
  61. INIT LDA INITPC,X
  62.  JSR CHROUT
  63.  INX
  64.  DEY
  65.  BNE INIT
  66.  LDA #<MAP
  67.  STA $F7
  68.  STA $F9
  69.  LDA #>MAP
  70.  STA $F8
  71.  STA $FA
  72.  LDA BIG
  73.  BNE SETBIG
  74.  JMP SETUP
  75. INITPC .BYTE 27,64,27,51,16,13,10
  76. INITSM .BYTE 27,77,15,27,75,64,1
  77. INITLG .BYTE 27,77,7,27,75,144,1
  78. SETBIG LDA #40
  79.  STA $FB
  80.  CLC
  81.  LDA #255
  82.  ADC $F9
  83.  STA $F9
  84.  LDA #29
  85.  ADC $FA
  86.  STA $FA
  87. LGSTRT LDA #25
  88.  STA TMPCNT
  89.  LDX #0
  90. LGSTLP LDY #8
  91. STLP LDA ($F9),Y
  92.  STA TEMP,X
  93.  INX
  94.  DEY
  95.  BNE STLP
  96.  SEC
  97.  LDA $F9
  98.  SBC #64
  99.  STA $F9
  100.  LDA $FA
  101.  SBC #1
  102.  STA $FA
  103.  DEC TMPCNT
  104.  BNE LGSTLP
  105.  CLC
  106.  LDA $F9
  107.  ADC #72
  108.  STA $F9
  109.  LDA $FA
  110.  ADC #31
  111.  STA $FA
  112.  LDA #2
  113.  STA TMPCNT
  114. STRTLG LDX #0
  115.  LDY #SETBIG-INITLG
  116. INLGLP LDA INITLG,X
  117.  JSR CHROUT
  118.  INX
  119.  DEY
  120.  BNE INLGLP
  121.  LDY #200
  122.  LDX #0
  123. BGLP1 LDA #4
  124.  STA TEMP1
  125. BGLP2 ASL TEMP,X
  126.  BCS BGSET
  127.  ROL A
  128.  CLC
  129.  ROL A
  130.  JMP BGCNT
  131. BGSET ROL A
  132.  SEC
  133.  ROL A
  134. BGCNT DEC TEMP1
  135.  BNE BGLP2
  136.  PHA
  137.  LDA RVS
  138.  BEQ BIGPRT
  139.  PLA
  140.  EOR #$FF
  141.  PHA
  142. BIGPRT PLA
  143.  JSR CHROUT
  144.  JSR CHROUT
  145.  INX
  146.  DEY
  147.  BNE BGLP1
  148.  LDA #13
  149.  JSR CHROUT
  150.  DEC TMPCNT
  151.  BNE STRTLG
  152.  DEC $FB
  153.  BNE LGJUMP
  154.  JMP SKIP3
  155. LGJUMP JMP LGSTRT
  156. SETUP LDA #25
  157.  STA $FB
  158. SMLP2 LDA #1
  159.  STA TMPCNT
  160.  LDA EXPY
  161.  BEQ SMLOOP
  162.  INC TMPCNT
  163. SMLOOP LDA #40
  164.  STA $FD
  165. SMLP1 LDX #0
  166.  LDY #INITLG-INITSM
  167. INSMLP LDA INITSM,X
  168.  JSR CHROUT
  169.  INX
  170.  DEY
  171.  BNE INSMLP
  172. POINTR LDA #8
  173.  STA $FC
  174.  LDX #0
  175.  LDY #1
  176. LOOP1 LDA ($F9,X)
  177.  STA TEMP,Y
  178.  DEC $FC
  179.  BEQ NEXT
  180.  INY
  181.  CLC
  182.  LDA #1
  183.  ADC $F9
  184.  STA $F9
  185.  LDA #0
  186.  ADC $FA
  187.  STA $FA
  188.  JMP LOOP1
  189. EXPAND JMP BIGY
  190. NEXT LDA #8
  191.  STA $FC
  192. LOOP2 LDA EXPY
  193.  BNE EXPAND
  194.  LDX #8
  195. LOOP3 ASL TEMP,X
  196.  ROR TEMP
  197.  DEX
  198.  BNE LOOP3
  199. CHKRVS LDA RVS
  200.  BEQ SKIP
  201.  LDA TEMP
  202.  EOR #$FF
  203.  STA TEMP
  204. SKIP LDA TEMP
  205.  JSR CHROUT
  206.  DEC $FC
  207.  BNE LOOP2
  208.  CLC
  209.  LDA #1
  210.  ADC $F9
  211.  STA $F9
  212.  LDA #0
  213.  ADC $FA
  214.  STA $FA
  215.  DEC $FD
  216.  BNE POINTR
  217.  LDA #13
  218.  JSR CHROUT
  219.  DEC TMPCNT
  220.  BEQ NEWLIN
  221.  LDA $F7
  222.  STA $F9
  223.  LDA $F8
  224.  STA $FA
  225.  JMP SMLOOP
  226. NEWLIN DEC $FB
  227.  BEQ SKIP3
  228.  LDA $FA
  229.  STA $F8
  230.  LDA $F9
  231.  STA $F7
  232.  JMP SMLP2
  233. SKIP3 LDA #$07 ;)
  234.  JSR CHROUT ; )
  235.  LDA #$1B ;  )  INITIALIZE
  236.  JSR CHROUT ;  )   PRINTER
  237.  LDA #$40 ; )
  238.  JSR CHROUT ;)
  239.  JSR CLALL ;CLOSE ALL CHANNELS
  240.  RTS ;BACK TO BASIC
  241. BIGY LDX #8
  242.  LDA TMPCNT
  243.  CMP #1
  244.  BEQ BIGY1
  245.  LDX #4
  246. BIGY1 LDY #4
  247. BIGY4 ASL TEMP,X
  248.  BCS BIGY2
  249.  ROR TEMP
  250.  CLC
  251.  ROR TEMP
  252.  JMP BIGY3
  253. BIGY2 ROR TEMP
  254.  SEC
  255.  ROR TEMP
  256. BIGY3 DEX
  257.  DEY
  258.  BNE BIGY4
  259.  JMP CHKRVS
  260. TEMP1 .BYTE 0
  261. TMPPRT .BYTE 0
  262. TMPCNT .BYTE 0
  263. TEMP .BYTE 0
  264.  * = *+200
  265.  .END
  266.